package ywpt.service.config;

import java.util.List;
import org.hibernate.criterion.DetachedCriteria;

import ywpt.model.Department;

public interface DepartmentService {

	public abstract Department getDepartmentById(Long id);

	public abstract int getDepartmentCountByCriteria(DetachedCriteria query);

	public abstract List<Department> getDepartments(DetachedCriteria query, int pageSize, int startIndex);

	public abstract String creatDepartCode();

	public abstract List<Department> getDepartments(DetachedCriteria query);

	public abstract void saveDepartment(Department department);

	public abstract void updateDepartment(Department department);	

	public abstract void removeDepartment(Long id);
	
	public abstract int getDepartmentsCountByName(String departName);
	
	public abstract List<Department> getDepartmentsByDepartName(String departName, int start, int size);

	public abstract List<Department> getDepartInfos();
	
	public abstract List<Department> getDepartmentsByIds(String ids);
}
